Bugs
This is a list of known bugs in the game, please check here before reporting in order to avoid duplicates. Dodgeball Sync Issues *Dodgeballs will sometimes teleport / disappear in multiplayer. This is a known issue and may exist for quite some time. All thrown ball physics are simulated locally to increase responsiveness, however any small network latency can cause drastic position discrepancies across different player perspectives. *To resolve this, dodgeballs' network positions are synched when out of the local player's view. However, when a ball is picked up it must immediately belong to the new owner, thus causing some visible dodgeballs to disappear. *This teleport can happen even if you've picked up a ball. What happened there is one player picks up a ball, but by the time they've reported it to the server another player picks up the ball on their own screen. The server decides who gets to own the ball, and sends a 'drop' message to the other player. *In modes like Super Ball, there is a lot of activity around one ball, so this teleportation will happen more often. *It's not clear exactly how to resolve this at this point, without adding unacceptable delay to picking / throwing actions or making dodgeballs jitter or behave weirdly due to constant synching. *For now, maybe just think of the dodgeballs as 'Quantum Dodgeballs' that will sometimes behave unexpectedly, and while not ideal, is part of the game. Hits not registering *Description: a thrown dodgeball bounces harmlessly off yourself or another player. *What is happening: Dodgeball hits are only triggered by the throwing player. If a thrower sees their dodgeball hit an enemy, it will trigger a KO. However, since dodgeballs are going to be in slightly different places for different players due to inherent lag, it's possible that the thrower sees their hit miss, but another player sees that throw hit. In this case, no KO will occur. *Resolution: It doesn't seem likely that this will be fixed short of building custom authoritative servers, which may or may not happen based on how big the game gets. For now, you can assume if a ball bounces off a player, then the thrower missed it and the target was safe. *Note: players also have a few seconds of spawn protection, indicated by a shield around the robot. Throws against protected players will and should always bounce off harmlessly. Lag Issues *The game may feel 'laggy' in multiplayer, meaning that players and dodgeballs jump around a bit and things behave in an inconsistent manner. There are a few important notes about this: *Most online multiplayer games have similar lag but hide it better by predicting movement. Improvements are planned in this area, although it is also trickier due to the sudden acceleration and deceleration that occurs in Disco Dodgeball. *Kills are delayed because I need to give the opponent a chance to catch the ball. Because victims are notified of the shot slightly after it is thrown, I can't immediately KO the player because the KO notification may trigger before the ball is even in catching range. As such any hit KO checks with the potential victim first to see if they caught the ball. This round-trip causes some additional delay, and the longer I make the catch window, the longer this delay will be. *You may see a live ball bounce harmlessly off you or another player. This is because all players see slightly different positions of the dodgeballs, and it's possible the throwing player saw that they missed a shot, but other players see that ball hitting the target. Since the throwing player is currently the authoritative KO trigger, this results in some players seeing a harmless bounce. See 'Hits not registering ' above. *The physics-based nature of combat adds some unique difficulties. This can result in dodgeballs disappearing, or being removed from your hands. See 'Dodgeball sync issues ' above. Achievements not working *In order to prevent easy farming of achievements, I added a restriction that there must be at least 6 players in a match in order to earn achievements related to having the winning score. I may add further restrictions like this in the future, just to keep things fun : )